home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / adg_4_6.zip / PRINTSTP.H < prev    next >
Text File  |  1991-02-21  |  1KB  |  36 lines

  1. /****************************************************************************
  2. Module name: PrintStp.H
  3. Programmer : Jeffrey M. Richter.
  4. *****************************************************************************/
  5.  
  6.  
  7. #define MAXPORTLEN      (25)
  8. #define MAXDRIVERLEN    (50)
  9. #define MAXDEVICELEN    (CCHDEVICENAME)   // From DRIVINIT.H
  10. #define MAXPRINTINFOLEN (MAXDEVICELEN + 1 + MAXDRIVERLEN + 1 + MAXPORTLEN)
  11. #define offsetof(s,m)   ((size_t) &(((s *) 0)->m))
  12. #define PSOVERHEAD      offsetof(PSSTRUCT, DevMode)
  13.  
  14. typedef enum {
  15.    PSSTAT_UNKNOWN, PSSTAT_EXTDEVMODE, PSSTAT_DEVMODEONLY
  16. } PSSTAT;
  17.  
  18. typedef struct {
  19.    char szPort[MAXPORTLEN], szDriver[MAXDRIVERLEN];
  20.    PSSTAT PSStat; 
  21.    int nEnvSize;
  22.    DEVMODE DevMode;
  23. } PSSTRUCT, FAR *LPPSSTRUCT;
  24.  
  25.  
  26. #define PSMODE_ACTIVEONLY     (1)
  27. GLOBALHANDLE FAR PASCAL PrinterSetup (HWND hWnd, GLOBALHANDLE hMem, WORD wMode);
  28.  
  29. HDC FAR PASCAL CreatePrinterDC (GLOBALHANDLE hMem);
  30.  
  31. // Returns handle to PSSTRUCT block or NULL if insufficient memory.
  32. GLOBALHANDLE FAR PASCAL SetupDefPrinter (void);
  33.  
  34. void FAR PASCAL ParsePrintInfo (LPSTR szPrintInfo,
  35.    BOOL fAppendDriverExt, LPSTR szDriver, LPSTR szDevice, LPSTR szPort);
  36.